#使用 def 关键字来定义函数
import random
#编写一个函数，返回从 begin 加到 end 的和
def caclSum(begin, end):
    sum = 0
    for i in range(begin, end + 1):
        sum += i
    return sum

sum = caclSum(1, 100)
print(sum)

#python中一个函数可以返回多个值
def getCoordinates():
    x = random.randint(1, 100)
    y = random.randint(1, 100)
    #利用逗号隔开多个返回值就可以实现返回多个值
    return x, y

#利用多元赋值接收多个返回值
x, y = getCoordinates()
print(x, y)

#如果只接收一个值可以使用 '_' 作为占位符
_, x = getCoordinates()
print(x)

#python中的函数具有缺省参数
def Add(x = 1, y = 2):
    return x + y

#可以不传参数
print(Add())

#也可以传一个参数
print(Add(3))

#也可以传两个参数
print(Add(10, 11))

#函数必须从右往左连续缺省
# def Sub(x, y = 10, z):
#     return x + y

#python中传参时，可以指定形参名，也就是进行关键字传参
sum = Add(y = 2, x = 10)#指定参数
print(sum)

